﻿#ifndef __SUPPLY_H_
#define __SUPPLY_H_
#include"Articles.h"
#include<QVector2D>
class Sprite;
//补给
class Supply:public Articles
{
public:
	static enum Type
	{
		bullet=1,//子弹补给
		bomb=2//炸弹补给
	};
	Supply()=default;
	Supply(int x, int y,Type type= Type::bullet, const QVector2D& vector= QVector2D(0,1), const int Steplength=100);
	~Supply() = default;
	//绑定武器库
	//void bindPlane(Sprite* const plane);
	
	//设置自动移动属性,方向和步长(一秒距离)
	void setProperty(const QVector2D& vector, const int Steplength);
	//碰撞器，对玩家操作
	virtual bool Collider(Sprite* p);
	//初始化一些基本信息
	virtual void init();
	//更新数据
	virtual void update()override;
	//绘图
	/*virtual void draw(QPainter* painter)override;*/
	void AutoMove();
private:
	//执行补给
	void startSupply(Sprite* plane);
	//子弹补给
	void bloodSupply(Sprite* plane);
	//炸弹补给
	void bombSupply(Sprite* plane);
private:
	qreal m_SumLen = 0;//累计步长
	int m_Steplength = 40;//步长
	QVector2D m_vector;//方向向量
	Type m_Typr;//补给类型
	//Sprite* m_Plane = nullptr;//绑定的武器库
};

#endif // !__SUPPLY_H_
